package zhujie.demo01;

/**
 * @author Mr.ma
 * @since 2022/10/26 14:19
 * 预定义注解：指预先定义且jvm可以解析的数据
 *      @Overrider: 对子类中的重写方法进行标记的注解，父类方法不满足子类需求时进行重写
 *          方法重写规定了两个方法之间方法名、参数列表、返回值类型必须保持一致
 *          访问权限不能更低只能更高，抛出的异常只能少不能多。
 *      @FunctionalInterface: 声明函数式接口的注解，lambda表达式时使用
 *          规定接口中只能有且只有一个抽象方法
 *      @SuppressWarnings: 警告压制注解，存在无默认值的value属性，在使用时需要进行赋值，赋值时value属性名可省
 *          可以让警告提示不进行显示
 *      @Deprecated: 过时标记注解
 *          可以标识方法已经过时
 **/
@SuppressWarnings("all")
public class Test01 {
    public static void main(String[] args) {
        Car car = new FuTe();
        car.doSpeed(178);
    }
}
class FuTe implements Car{
    @Override
    public void doSpeed(Integer speed) {
        System.out.println("时速为：每小时" + speed + "KM");
    }
}
@SuppressWarnings("all")
@FunctionalInterface
interface Car{
    @Deprecated
    void doSpeed(Integer speed);
}
